home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- TurboLib
-
-
- Version 1.1
- Copyright 1987 Bob Pritchett
-
-
-
-
-
-
-
- New Dimension Software
- 23 Pawtucket Dr.
- Cherry Hill, NJ 08003
- (609) 424-2595
-
- (609) 354-9259
- (Data)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Introduction 3
-
- What is TurboLib? 3
-
- Why use TurboLib? 3
-
- Distribution License 3
-
- TurboLib's Features 3
-
- Using TurboLib 5
-
- About File Names 5
-
- Command Line Arguments 5
-
- Sample Usage 5
-
- How it Works 6
-
- Future Enhancements 6
-
- Summary 6
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Disclaimer
-
- This application is provided "AS IS." No warranty is expressed or
- implied. Use of this application is at the user's own risk, and
- the author is not responsible for any damages or loss of profits
- resulting from the use of the application or its documentation.
-
-
-
-
-
-
-
-
-
-
-
-
- TurboLib V1.1 - Documentation
-
-
-
- Introduction
-
-
- What is TurboLib?
-
- TurboLib is an object code librarian designed specifically to work
- with the Turbo Link program provided with Borland International's
- Turbo C compiler. It allows the programmer to place object code
- modules into a single library file, manipulate those modules, and
- create a detailed listing of the library's contents.
-
-
- Why use TurboLib?
-
- By keeping object code modules in a single library file the
- overhead required to link programs is greatly reduced.
- Additionally the object code modules are easier to manipulate and
- can be grouped into libraries according to type.
-
- The Turbo C package does not currently include a library utility,
- and commercially available alternatives are expensive and often
- needlessly complicated. The TurboLib librarian is straightforward
- and inexpensively priced shareware.
-
-
- Distribution License
-
- TurboLib is not public domain software. It is distributed under
- the 'shareware' concept and may only be used under a specific
- license.
-
- TurboLib may be freely distributed on diskette and Bulletin Board
- Systems provided that it is not modified in any manner, with the
- following exceptions: TurboLib may not be sold or distributed by
- any for-profit organization without the express written permission
- of New Dimension Software. Non-profit users groups and
- organizations may distribute TurboLib freely provided that no fee,
- other than reasonable media expenses, is charged.
-
- If you use TurboLib and find it useful, a $25 donation is
- requested. (If you are using TurboLib in a commercial environment
- the $25 donation is mandatory.) This will place you on our mailing
- list (for update notifications, etc.) and give you a warm feeling
- all over. If you can't/won't send a donation, a postcard, letter,
- or the survey at the end of this documentation would be
- appreciated. (At least let me know you're alive!)
-
-
- TurboLib's Features
-
- TurboLib allows you to create or convert a library, add modules to
- it, delete modules from it, update modules, extract modules to .OBJ
- files, and create a detailed listing of modules, public
-
-
-
- New Dimension Software - 23 Pawtucket Dr. - Cherry Hill, NJ - 08003
- - 3 -
-
-
-
-
- TurboLib V1.1 - Documentation
-
-
- definitions, and other information. The control-break interrupt is
- trapped, preventing accidental destruction of the library being
- operated on, a backup copy of the library is automatically made to
- allow any operation to be 'undone,' and on-line help is provided.
-
- Following is a detailed description of each feature:
-
- Create Library * Anytime modules are added to a library that does
- not exists it is created.
-
- Convert Library * Anytime an operation (including the generation
- of a listing file) is performed on a library that is determined to
- be in the Microsoft Lib format the library is backed up in a
- special file, converted to the TurboLib format in the normal backup
- file, and the operation performed.
-
- Add Modules * Object code modules can be added to any library, in
- which case they are appended to the end of the library in the order
- the additionds is specified. IMPORTANT! The module is given the
- name of the object code module, without its extension. This is in
- keeping with the practice of the Microsoft Librarian utility, and
- assures that modules are referencable from within the library.
- (Object code generated by MASM may not have a specific name
- internally. This action rectifies that problem assures that
- different object code modules do not get the same internal name.)
-
- Delete Modules * Modules can be deleted from the library, in
- which case their object code is simply erased from the library.
-
- Update Modules * Modules may be updated within the library when
- they change. (In case of a recompile, for example.)
-
- Extract Modules * Modules may be extracted to independent .OBJ
- files, and optionally deleted from the library.
-
- Listing File * A cross referenced index of all public
- declarations and modules contained in the library is generated each
- time the librarian is run with a library, unless otherwise
- specified. The list file contains an alphabetical index to all
- publics, a list of modules in the order they appear in the library,
- with the offset and size of each, and an alphabetical list of the
- publics under the appropriate module.
-
- Fatal Error Recovery * If the program is aborted by a control-
- break or the occurence of a fatal error the original library is
- restored intact.
-
- Backup Library * Before any operations are performed on a library
- it is backed up with the extension .BAK. (Microsoft LIB format
- libraries are backed up with the extension .MSL, and converted into
- the .BAK file before the operations are performed.) Copying this
- file back with the extension .LIB will restore the library to its
- previous status.
-
-
-
-
- New Dimension Software - 23 Pawtucket Dr. - Cherry Hill, NJ - 08003
- - 4 -
-
-
-
-
- TurboLib V1.1 - Documentation
-
-
- On-Line Help * TurboLib will provide a short description of each
- function and its usage if invoked with no arguments.
-
-
- Using TurboLib
-
- Currently TurboLib works only from the command line. (See Future
- Enhancements for more information on other interfaces.) The first
- command line argument must be the name of the library to work with.
- If no other arguments are specified only a listing file will be
- generated. (If no arguments are given at all a quick usage
- description will be displayed.)
-
-
- About File Names
-
- TurboLib does not need any extensions provided with file names. It
- assumes .LIB for libraries, .OBJ for object code modules, .BAK for
- library backups, and .LST for listing files. All files, except for
- those with the .OBJ extension, are given the same root and path
- name as the library specified. .OBJ files get the name given for
- the module, and may NOT have a path or directory, they must be in
- the current directory.
-
-
- Command Line Arguments
-
- Any number of arguments of any one of the following types may be
- specified after the library name:
-
- /NL Supress generation of listing file.
-
- *<name> Extract module <name> to .OBJ file. Do not delete
- from library.
-
- +<name> Add module <name> to library.
-
- -<name> Delete module <name> from library.
-
- -*<name> Extract and delete module <name> from library.
-
- -+<name> Delete and add module <name> from/to library. Used
- to replace a module with a new version of itself, or to move module
- to end of library.
-
-
- Sample Usage
-
- The following are several sample command lines and a description of
- what each does:
-
- TLIB tst +one +two +three +four
-
-
-
-
-
- New Dimension Software - 23 Pawtucket Dr. - Cherry Hill, NJ - 08003
- - 5 -
-
-
-
-
- TurboLib V1.1 - Documentation
-
-
- This creates the library tst.lib if it does not exist,
- and adds (new or not) the four modules specified, importing them
- from one.obj, two.obj, etc.
-
- TLIB tst *two +five -+one
-
- The module two is copied into two.obj, the module five is
- added to the end of the library, and module one is deleted from the
- library and re-imported from one.obj to the end of the library,
- after five.
-
- TLIB tst /NL -*three -four
-
- The module three is extracted to three.obj and deleted
- from the library, and four is also deleted. No listing file is
- generated.
-
-
- How it Works
-
- Working completely from a backup copy of the library TurboLib first
- performs all extractions, then all deletions, and finally makes all
- additions at the end of the file, assuring that regardless of the
- order of the command line arguments no file gets deleted before
- being extracted, or added before being deleted. (If the library is
- in Microsoft Lib format it is copied to a special backup file with
- the extension .MSL and converted to TurboLib's format in the .BAK
- file, which is then used as described above.) Finally, unless
- otherwise specified, a listing file is generated.
-
-
- Future Enhancements
-
- There is a lot of potential for a tool such as this, and constantly
- room for improvement. Version 1.1 is a simple, functional, preview
- of what is to come. 'In the works' is the ability to modify
- identifiers, list externals in addition to publics, use an
- interactive interface, specify ordering of modules within the
- library, and much more.
-
- However the main direction should be that of the user's interest.
- For that reason I need to hear from you what you think, what
- features you'd like to see, and what you want to do. Please help
- design this product to fit your needs.
-
-
- Summary
-
- Please play around with TurboLib, decide what you do and don't like
- about it, and let me know. I'd love to hear from you, and I'll be
- happy to try and answer any questions you may have about the
- product.
-
- - Bob Pritchett
-
-
-
- New Dimension Software - 23 Pawtucket Dr. - Cherry Hill, NJ - 08003
- - 6 -
-
-
-
-
-
-
-
- User Survery
-
-
- Where did you get your copy of TurboLib? __________________________
-
-
- Do you use/plan to use an object code librarian? __________________
-
-
- What do you like about TurboLib? __________________________________
-
-
- What do you not like about TurboLib? ______________________________
-
-
- What languages do you program in? _________________________________
-
-
- What compiler(s)/assembler(s) do you use? _________________________
-
-
- Do you have another object code librarian? ________________________
-
-
- If so, which one? _________________________________________________
-
-
-
- Name: _____________________________________________
-
- Title: _____________________________________________
-
- Company: _____________________________________________
-
- Address: _____________________________________________
-
- City: _________________________ State: ______ Zip: ________
-
- Phone: (____) ____ - ______ Hours: ___________
-
-
- Thank you.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- New Dimension Software - 23 Pawtucket Dr. - Cherry Hill, NJ - 08003
-
-